package Base;

public class Escudo {
	String nome;
	float defesaBase;
	float defesaAtual;
	float pesoBase;
	float pesoAtual;
	float preRequisitoForcaAtual;
	float modificadorDePreco;
	float precoMinimo;
	float precoMaximo;
	int nivel;

	public void setObjetivo(int level){
		setNivel(level);
		calculaDefesa();
		calculaPeso();
		calculaPreRequisitoForca();
		calculaModificador();
		calculaPreco();
		//MostraResultado();
	}

	public void calculaPreco() {
		// TODO Auto-generated method stub
		setPrecoMinimo(getModificadorDePreco()*getPreRequisitoForcaAtual());
		setPrecoMaximo(getPrecoMinimo()*2);
	}

	public void calculaModificador() {
		// TODO Auto-generated method stub
		for(int i=0; i<=getNivel(); i++){
			setModificadorDePreco(getModificadorDePreco()+(30 * i * i));
		}
		
	}

	public void calculaPreRequisitoForca() {
		// TODO Auto-generated method stub
		setPreRequisitoForcaAtual(getPesoAtual()/5);
	}

	public void calculaPeso() {
		// TODO Auto-generated method stub
		setPesoAtual(getPesoBase()+getDefesaAtual());
	}

	public void calculaDefesa() {
		// TODO Auto-generated method stub
		float defesaAux = getDefesaBase();
		for (int i = 0; i <= getNivel(); i++) {
			defesaAux+= i*0.2f;
		}
		setDefesaAtual(defesaAux);
		
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public float getDefesaBase() {
		return defesaBase;
	}

	public void setDefesaBase(float defesaBase) {
		this.defesaBase = defesaBase;
	}

	public float getDefesaAtual() {
		return defesaAtual;
	}

	public void setDefesaAtual(float defesaAtual) {
		this.defesaAtual = defesaAtual;
	}

	public float getPesoBase() {
		return pesoBase;
	}

	public void setPesoBase(float pesoBase) {
		this.pesoBase = pesoBase;
	}

	public float getPesoAtual() {
		return pesoAtual;
	}

	public void setPesoAtual(float pesoAtual) {
		this.pesoAtual = pesoAtual;
	}



	public float getPreRequisitoForcaAtual() {
		return preRequisitoForcaAtual;
	}

	public void setPreRequisitoForcaAtual(float preRequisitoForcaAtual) {
		this.preRequisitoForcaAtual = preRequisitoForcaAtual;
	}

	public float getPrecoMinimo() {
		return precoMinimo;
	}

	public void setPrecoMinimo(float precoMinimo) {
		this.precoMinimo = precoMinimo;
	}

	public float getPrecoMaximo() {
		return precoMaximo;
	}

	public void setPrecoMaximo(float precoMaximo) {
		this.precoMaximo = precoMaximo;
	}

	public int getNivel() {
		return nivel;
	}

	public void setNivel(int nivel) {
		this.nivel = nivel;
	}

	public float getModificadorDePreco() {
		return modificadorDePreco;
	}

	public void setModificadorDePreco(float modificadorDePreco) {
		this.modificadorDePreco = modificadorDePreco;
	}
	
	public void MostraResultado(){
		System.out.println("Nome: "+getNome());
		System.out.println("Level: "+getNivel());
		System.out.println("Peso: "+getPesoAtual());
		System.out.println("Defesa: "+getDefesaAtual());
		System.out.println("Modificador de Preco: "+getModificadorDePreco());
		System.out.println("Preco Minimo: "+getPrecoMinimo());
		System.out.println("Preco Maximo: "+getPrecoMaximo());
		System.out.println("Pre-Requisito Forca: "+getPreRequisitoForcaAtual());
		System.out.println();
	}

}
